home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
001
/
wwiv.arc
/
WWIV311.DOC
< prev
Wrap
Text File
|
1986-04-21
|
26KB
|
650 lines
WWIV v3.11
Copyright (C) 1986 by Wayne Bell
NECESSARY EQUIPMENT:
====================
IBM-PC,XT,AT or compatible
256K or more of memory
one hard disk (preferably 10 megs or more)
Turbo Pascal compiler version 3.0
A Hayes Smartmodem or compatible.
DISTRIBUTION:
=============
You've probably read this a million times before, but I'll type it in
anyway.
You may freely distribute this software, as long as:
1) No fee is charged for such distribution.
2) The entire system is distributed as a whole, without modifications.
Of course, once you have a copy, you are encouraged to make whatever changes
you feel are necessary or appropriate, such as changing prompts, or other
cosmetic changes. If you feel brave enough, you might even try changing the
logic of the program, but you should refrain from this unless you really
know what you are doing.
DONATIONS:
==========
If you find this program useful, a donation of $25 would be greatly
appreciated. Also, I would be interested in knowing what WWIV systems are
up, and any suggestions or possible modifications you might think of.
Please address any correspondences/donations to:
Wayne Bell
Box 636
904 Silver Spur Road
Rolling Hills Estates, CA 90274
INTRODUCTION:
=============
This is not meant to be a comprehensive manual, but is only an outline of
the less-obvious functions. This is because I don't feel like typing 100
pages of a manual, and also because I am sure you will discover more about
the system from playing around with it yourself than you would by my telling
you.
Version 3.11 has been tested out quite thoroughly, and no way has been found
that remote callers can cause any harm to the computer itself, or any data
outside the BBS. If you give other people high access, it will be possible
for them to erase data from the BBS (ie, messages and files for
downloading), but there is NO WAY they can, say, destroy WordStar documents
you have in a different directory.
INSTALLATION:
============
You should skim through the entire installation section before beginning.
On your hard disk, create a directory (such as BBS) that is a sub-directory
of the root directory. Now, copy all the board files into that directory.
There should be 16 files. Also copy the Turbo Pascal compiler into this
directory. You should now have the following files in your BBS directory:
BBS.PAS
COMMON.PAS
DLOADS.PAS
DLP1.PAS
DOS.PAS
INIT.PAS
PART1.PAS
PART2.PAS
PART3.PAS
SECLEV.DAT
HELP.MSG
MAINMENU.MSG
SYSOPMNU.MSG
DLMENU.MSG
DOSMNU.MSG
WWIV311.DOC
TURBO.COM
TURBO.MSG
You should now enter the turbo pascal compiler, and run "INIT.PAS". This
program will initialize the necessary BBS files and directories. You now
need to compile to disk the main BBS program. To do this, compile BBS.PAS
to a .COM file, then compile DLOADS.PAS and DOS.PAS to .CHN files. The
following keystroaks will do this for you:
TURBO
NRINIT This runs the initialization program (about 1300 lines).
MBBS
OCQC This will compile about 4100 lines of the main program.
MDLOADS
OHQC This compiles about 2700 lines of the file system.
MDOS
OHQC This compiles about 2900 lines of the dos routines.
Q
But, if you have a 300 or 2400 baud modem, or are using one connected to
com2:, you need to change the common routines to make it work correctly.
Near the beginning of the file "COMMON.PAS", you will see two constants
defined. comnum=1 is the first. If your modem is connected to com2:,
change this to comnum=2. The second is maxbaud=1200. If your modem runs at
2400, change this to maxbaud=2400, or if you only have a 300 baud modem,
change this to maxbaud=300. No other changes are necessary for the modem
setup.
CUSTOMIZATION: There are a few files that you will want to customize for
your needs. These files are in the sub-directory GFILES of the main BBS
directory. They are:
SYSTEM.MSG - This file should contain system rules and other general
information.
NEWUSER.MSG - This file should tell new users what information they should
leave to the sysop.
WELCOME.MSG - This is the file printed out right after a person connects,
and should list the system name.
LOGON.MSG - This file is printed out after each person logs on, and should
contain any recent system information or updates.
LOGOFF.MSG - This file is printed out after people log off, and may contain
the phone numbers of other BBS's.
NONEWUSER.MSG - File listed out when "NEW" is typed for a CLOSED system.
TRASHCAN.TXT - This is where you put the names of users who you do not want
to log on to your BBS. For example, if you don't want anyone with "THE" in
their name (ie, "THE HACKER", etc), just put "THE" on a separate line in the
file. This will restrict anyone with "THE" (as a DISTINCT WORD) in their
name from logging on.
These files may be changed by using the built-in text editor, which will be
described later.
The next step in initialization is logging on the sysop. Run the main BBS
program by typing BBS at the DOS prompt. The modem will be initialized, and
a few files read into memory, and you will be presented with a blank screen.
Hit the spacebar and the "Y" key. You will now see the welcome message and
the NN: prompt. Type in "NEW" and hit enter. Enter the applicable
information for the sysop account now. After verifying the password, the
sysop will be logged onto the system. You now need to change the account's
attributes to sysop access. to do this, hit F1 and type in "255" <enter>,
then hit F2 and hit "V", then hit Shift-F1 and enter "255". Now log off
with "/O". After logging off, the screen will again be blank. The system
is now waiting for a caller. This condition will henceforth be referred to
as "WFC", "Waiting For Caller."
Now you will need to change the second sysop password. At WFC, hit "P".
You will be presented with three options to change. Right now you want to
just change the sysop password, so hit "A" and enter the new sysop password.
You will need to enter this password when logging on remotely, or to enter
certain portions of the BBS. After entering it, you will be asked if this
is correct. If so, enter "Y" for yes, the "Q" to quit.
BOARD DATA:
Your next task is to identify what boards (message bases) you will want.
Before entering the board data into the computer, you will want to write
down the board names that you will want, such as: GENERAL, MARKET,
DISCUSSIONS, COMPUTERS, etc. You may have up to 19 boards. For each board,
you will need: a name, a filename, the maximum number of messages, and a
security level requirement, which limits the number of people who have
access to that board.
After writing this down, you will have to enter it into the computer. At
WFC, hit "B" for board data change. You will have to enter your sysop
password here. The system automatically initializes one board for you, but
you will most likely want more. To add more boards, hit "I" for insert
board. There is only one board now, so you will insert it before board #2
(which will place it after board #1). You will be returned to the previous
display, but there will be two boards listed. The data for the second board
will be incorrect, so you will need to modify it, using the "M" command. So
hit "M", enter board #2, and you will see 8 options listed. If you want to
change the Name, hit "1", and type in the new name. The filename is a very
important part here. Each board >MUST< have a different filename. The
maximum number of messages should vary from 20 to 100, although you may
specify more than 100 messages. The SL option should vary from 10 to around
60 or 70. SL will be discussed more later. Hit "Q" to quit out of the
modify routine.
(Later, if you want to delete a board, first remove all messages from the
board, then delete it using the D option here).
After quitting out of the board edit routine, you should hit "D" at WFC.
After entering your sysop password, you will be presented with a list of
directories. These are different areas for up and downloading files. This
routine works the same as the board edit routine.
That should pretty much finish off initialization, and the board is ready to
run!
WFC COMMANDS:
=============
The WFC commands are: Q,B,D,P,A,S,L,Y,M,R,T,V,F,E,G,<SPACE>. They will be
discussed in that order.
Q: Quits out of the BBS, and exits to DOS.
B: Board edit routine, described above.
D: Directory edit routine, much the same as board edit.
P: Password change, described above.
A: Answers the phone. This just tells the modem to answer the phone. So if
you are talking to someone on the phone and he wants to connect to the BBS,
hit "A", and he can log on. After the phone has been answered, you may hit
"H" to hang it up before a connection is made.
S: Status. This will print out the current status of the board.
L: Log-of-the-day. This will show you who logged on so far today, and what
they did while on.
Y: Yesterday's log. It will show the log-of-the-day for yesterday.
M: Mail read. This will display >ALL< mail sent, starting with the most
recent piece. After each piece of mail, the system will pause. You can hit
"Q" to quit back to WFC, "R" for re-read, "D" to delete the piece of mail,
or any other key for the next piece of mail.
R: Read feedback. Hitting "R" is the same as logging on under the sysop
account, reading feedback, then logging off. This function is provided to
save the trouble of logging on each time you want to just read feedback.
T: Terminal mode. While running a BBS, you may feel the urge to call other
BBS's. Hit "T" at WFC to access the internal terminal program. When you
enter terminal mode, the computer sets up the modem to respond with result
codes, and sets the keyboard to uppercase. A list of commands is available
by hitting the "HOME" key on the numeric keypad. If you wish to upload
files from the terminal, they must be present in the dloads directory, and
downloaded files will be put in the dloads directory.
V: Validate users. Using this utility, you can page through the users,
delete users, and change data on them. It will start out with the sysop
account, display the information, and prompt you for an option. You can hit
"?" for a list of commands. The line of data for messages lists: number of
Posts, number of E-mail, number of Feedback, and the number waiting. Logged
on lists: the number of times logged on, number of times today, and number
of illegal log-ons. DS sec lev lists the Transfer security level, number of
files uploaded, number of K uploaded, number of files downloaded, and number
of K downloaded. Options are:
S - change security level
A - change access (restrictions)
[ - go to user number one lower than current
] - go to user number one higher than current
O - change search options
{ - search down
} - search up
U - go to user, by name or number
D - Delete the user
R - Restore the user if he is deleted
N - Change name/alias
P - change phone number
E - change real user name
Q - Quit back to WFC
L - alert sysop when user logs on
T - change DL security level
F: This is the dos routine. You will be in a sort of "min-dos", which will
enable you to manipulate files. Any files can be manipulated, with the
exception of files used by the bbs, such as the user list, board data, and
other related files. Only three directories may be accessed, "DLOADS",
"GFILES", and ".". "." refers to the main BBS directory, and the other two
refer to the sub-directories of the BBS directory with the same name. When
refering to the different directories, you do not need to specify their
actual position in the directory tree, only the name. The commands may be
used as if it were from dos. Examples of valid commands are: "COPY
DLOADS\SOMEFILE.TXT", "TYPE .\BBS.PAS", "COPY LOGON.MSG DLOADS" (the
backslash after "DLOADS" is optional). Valid commands are:
CD - Change the active directory.
DEL - Delete file.
REN - Rename file.
DIR - List files. Only .TXT or .MSG files will be listed, unless you
specify "*.*" or other such global names.
COPY - Copy file.
TYPE - Type file.
EDIT - Edit a file. Invoked as "EDIT LOGON.MSG." A description of the text
editor follows.
GFILE - Gfile edit.
VOTEPRINT - Print out votes.
LOADHELP - If you have edited the help file, "HELP.MSG", this will
re-load it into memory, so your changes will take effect.
QUIT - Quit Mini-DOS.
E: Edit. This is the same as typing "F" for the dos routines, then typing
"EDIT" followed by a filename, except this will prompt you for the filename.
This option is provided only for convenience.
G: G-file edit. This is the same as entering the dos routines and typing
"GFILE".
: hit spacebar then "Y" to log on from the keyboard.
TEXT EDITOR:
===========
The text editor is available from the dos routine, and may ONLY edit files
with .MSG or .TXT extensions. After entering the editor, the file will be
read in, or you will be told that it is a new file. For long files, not all
of the file may be read in. The text editor is line oriented, and has a
command list on line. At the ":" prompt hit "?" for a list of commands. A
number may be specified with most commands, such as "+15" to go forward 15
lines, or "15" to go to line #15.
SECURITY LEVELS:
================
Each user is assigned, by the sysop, a security level. This determines what
the user can and can not do on the system. New users are given a 10, which
doesn't allow them to do much at all. Validated users should be given about
a 30.
Board access: If the user's security level is less than the SL for a board,
the user cannot access the board.
In general, a user's SL should vary between 30 and 100. If the user has a
100, he is able to do anything the sysop is able to do. There is a time
limit for each user, which is generally 10 minutes less than the security
level itself, so a user with a SL of 30 can stay on for 20 minutes. Special
security levels:
70 and above: can post anonymously on any board
80 and above: can send anonymous mail
90 and above: can read names on anonymous messages
95 and above: can read names on anonymous mail
99: this will allow the user to validate and delete messages on the
board number specified by the SBN for that user. If the SBN is
zero, the user can validate and delete messages on any board.
100: The user can do virtually anything the sysop can, with 3
exceptions, listed later.
255: The sysop. Can do anything.
The download, or transfer, security level is much the same as the regular
security level, except it is used for access to different directories in the
file system.
ACCESS/RESTRICTIONS:
====================
Each user has a set of restrictions that can be used against him. For
"good" users, none of these should be enacted. They are:
L - restrict logons to 1/day
C - restrict from chatting
V - make messages unvalidated
B - restrict from back/downspacing
A - restrict from changing auto-
message and adding to BBS list
* - restrict from posting anon msgs
P - restrict from posting at all
E - restrict from sending e-mail
K - restrict from voting
M - auto-message deletion
TOP OF THE SCREEN DATA:
=======================
While any user is logged on, there will be information on that user printed
on the top of your screen. The remote user will not be aware of this
information. There are three lines of information.
The first line contains: the user's name, user number, real name, phone
number, and either: last date logged on, or number of times logged on today.
The second line contains:
SL: security level
AR: board access; don't worry about this
LO: number of times logged on
P : number of messages posted
E : number of pieces of mail sent
F : number of pieces of feedback sent
W : number of pieces of mail waiting for him to receive
SC: screen size (ie, 80X25). Before a user is logged on, this
area will show his/her password
FW: number of pieces of mail waiting for user #1
D : download/transfer SL
The third line contains:
AC: access/restrictions (if any)
C : computer type
ML: messages left before forced logoff. This will only show for
users who have been on more than one time that day
TL: time left, in minutes
The next area shows "Sysop Available" or "----- ---------". If it shows
"sysop available", the user is able to request a chat. After this, there
will be: nothing, or "CHAT ON", which means the user has requested a chat.
SYSOP KEYS:
===========
While someone is logged on the system (remotely or from the computer
itself), the function keys can be used for special commands. These are:
F1: change the user's security level.
Shift-F1: change the user's download security level.
F2 - change the user's access/restrictions.
F3 - disable remote keyboard. This is used mainly if you want to do
something on the system without the remote user interfering.
F4 - turn off the chat call if it is on.
F5 - hang up on the user - this is the same as if the user hung up.
F6 - update time left, and hang up on the user if his time is expired.
F7 - decrease time left by 5 minutes. If you are annoyed at a user, and
want him/her off the system sooner, hit f7 one or more times. You can hit
it enough that the time left will be negative, but the system won't hang up
yet. You have to hit F4 to have it hang up.
F8 - increase time left by 5 minutes.
Shift-F7 - decrease number of messages allowed by 10.
Shift-F8 - increase number of messages allowed by 10.
F9 - give >TEMPORARY< sysop access. After the user hangs up, his SL will be
returned to what it was before. If you don't want to wait until he hangs
up, hit F9 again, and his SL will be restored then.
F10 - chat mode. If you want to type to a user, hit F10. When you are done
chatting, hit F10 again, and the user will be returned to where he was
before. While in chat mode, you may use all the other function keys also.
In chat mode, you may store what is being said. Just hit <home> (with num-
lock off), and every line that is typed will be stored in "CHAT.MSG" in the
GFILES directory. To stop storing the lines, hit <home> again, or just exit
chat mode with F10.
Scroll-lock - toggles sysop available.
MAIN MENU SYSOP COMMANDS:
=========================
There are a few sysop commands at the main menu. If they are more than one
character long (as most of them are), and you have one key input on, you
must precede them with "//", which will enable you to type a whole line.
For example, if you want to enter uedit, you would type "//UEDIT". The
sysop commands (which may be used by anyone with a SL of 100 or greater)
are:
! - Validate users
UEDIT - user edit procedure
STATUS - print system status
IVOTES - initialize voting data
LOG - print today's sysop log
YLOG - print yesterday's sysop log
TEDIT - edit a text file
OLDUSERS - list out users in order of number of days since last logon
DOS - enter the dos routine. Users with SL's less than 255 (100-254) may
only access the DLOADS and GFILES directory, and within those, only files
with .TXT or .MSG extensions.
All of these have either been described or should be self-evident. A list
of these commands is also available to the sysop from the main menu. Simply
type "/?" at the main menu and the above list, along with some other data,
will be printed out.
There are four other main menu sysop commands, which are only available to
users with a SL of 255. They are: BOARDEDIT, DLBOARDEDIT, MAILR, and QUIT.
BOARDEDIT and DLBOARDEDIT are the same as B and D from WFC. MAILR is the
same as M from WFC. QUIT returns to dos, the same as a Q from WFC, except
an errorlevel of 1 is returned. This is not very useful, except for non-
standard setups. These commands are not listed in any menu, and are only
meant for use by the sysop if he needs to run the entire board remotely.
HIDDEN SYSOP COMMANDS:
======================
There are a few sysop commands which are not listed anywhere. They are:
Validate user: After reading a piece of mail or posted message, the sysop
can hit "V" at the prompt, and change the SL or restrictions for that user.
This is useful for validating new users, and restricting people who have
abused privileges.
Remove messages: using the R main menu command, the sysop can remove any
message on a board. Also, in the scan routine, the sysop can hit "D" at the
prompt, which will delete the last message read.
At the message read prompt, the sysop may type "M" to move the last message
read to another board.
TRANSFER SECTION SYSOP COMMANDS:
================================
There are also a few sysop commands in the file system, which work pretty
much like the ones at the main menu. They are:
M - Move a file from one directory to another. You enter the filename, then
the destination directory number.
SORT - Sort files by filename or date uploaded.
REN - Rename file and/or description of file.
0 - change to sysop directory. Files uploaded with a backslash ("\") at the
beginning of their description will be uploaded into directory number zero.
The sysop can then remove or move the files.
Of course, files can not be downloaded when you are logged on from the
keyboard, but they can be uploaded. To do this, first exit to DOS and copy
the file into the DLOADS directory. Then run the BBS, log on, enter the
file system, and upload the file as you normally would remotely.
Files can also be uploaded remotely by the sysop if they already exist in
the DLOADS directory. This is meant for people who already have a large
amount of software that they need to put in the transfer section, but need
to do it remotely.
Also, in version 3.1A, users can up and download files from Apple computers
if they want.
HELP FILE:
==========
Version 3.1 has a new feature - on-line help. At just about any point in
the BBS (with the exception of sysop functions), you can hit ctrl-Z, and get
semi-detailed help about whatever function it is you are using at the time.
This is especially useful for new users, so you should have this function
listed in your newuser file, or some other place so newusers can be aware of
it. You may want to change the help file yourself, so this is how it is set
up:
All the help files are stored in one dos file, gfiles\help.msg. Each
seperate help file is stored as follows:
|C description
help file
.
.
.
|D description
help file
.
.
.
Each file is started with a vertical bar, followed by the character which
identifies which help file it is. The rest of the line is a "comment", and
is never printed out. It is to aid in editing the file only. Because the
vertical bar is a "reserved character", none of the help files may contain
vertical bars. Also, because of the way the help file is set up, the file
may be a MAXIMUM of 25000 bytes long. If it is longer than this, the rest
will be ignored.
The help file is loaded into memory when the the board is initially run, to
save on I/O, so if you edit the help file with the built-in text editor, you
must re-load the help file into memory, using the "LOADHELP" command in the
DOS routine.
FUTURE MODIFICATIONS:
=====================
It is possible that there are a few bugs in the program, and there are
certainly more things to be added. Future versions that are numbered 3.xx
will be compatible with other version 3.xx's.
CREDITS:
========
Although I did write most of the code myself, there are quite a few people
who did help, or whose code got used. The com routines are based on those
by: Philib Burns, Alan Bishop, C. J. Dunford, and Michael Quinlan, although
they did get changed quite a bit.
The Neuron (%) also helped in the development quite a bit, especially with
testing the software. Making sure the XMODEM and com routines work is quite
difficult without another patient person to help.
NOTES ON PROGRAM STRUCTURE
==========================
If you want to modify the program yourself, here are a few comments on how
the source files are set up.
BBS.PAS - holds most of the main BBS routines, such as post, scan, send e-
mail, and the main menu.
COMMON.PAS - holds routines such as print, input, and other i/o routines.
This file is included {$I COMMON.PAS} in BBS.PAS, DLOADS.PAS, and DOS.PAS.
PART1.PAS - holds routines to print a file, input a message, and print a
message.
PART2.PAS - has overlayed routines that are generally accessable and are
generally used, such as newuser, logon, g-files, vote, etc.
PART3.PAS - holds overlayed sysop routines, such as uedit, boardedit,
dlboardedit, move message, etc.
DLOADS.PAS - contains the file system routines.
DOS.PAS - has the dos routines, text editor, and terminal program in it.
DLP1.PAS - has the send and receive routines in it.